package com.flow.demo.module.gd.service.activities;

import com.flow.demo.module.gd.controller.admin.activities.vo.*;
import com.flow.demo.module.gd.dal.dataobject.activities.ActivitiesDO;
import com.flow.demo.framework.common.pojo.PageResult;

import javax.validation.Valid;

/**
 * 活动 Service 接口
 *
 * @author Pompey_hpy
 */
public interface ActivitiesService {

    /**
     * 创建活动
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createActivities(@Valid ActivitiesSaveReqVO createReqVO);

    /**
     * 更新活动
     *
     * @param updateReqVO 更新信息
     */
    void updateActivities(@Valid ActivitiesSaveReqVO updateReqVO);

    /**
     * 删除活动
     *
     * @param id 编号
     */
    void deleteActivities(Integer id);

    /**
     * 获得活动
     *
     * @param id 编号
     * @return 活动
     */
    ActivitiesDO getActivities(Integer id);

    /**
     * 获得活动分页
     *
     * @param pageReqVO 分页查询
     * @return 活动分页
     */
    PageResult<ActivitiesDO> getActivitiesPage(ActivitiesPageReqVO pageReqVO);

}